package cn.merlulin.monitor.domain.service;

import cn.merlulin.monitor.domain.model.entity.MonitorDataEntity;
import cn.merlulin.monitor.domain.model.entity.MonitorDataMapEntity;
import cn.merlulin.monitor.domain.model.entity.MonitorFlowDesignEntity;
import cn.merlulin.monitor.domain.model.vo.MonitorTreeConfigVO;
import ognl.OgnlException;

import java.util.List;

/**
 * @author Merlin
 * @version 1.0
 * @email 756151581@qq.com
 * @desc 日志解析服务接口
 * @date 2025/1/16 16:36
 */
public interface ILogAnalyticalService {

    /**
     * 日志解析
     * @param systemName 系统名称
     * @param className 类名
     * @param methodName 方法名
     * @param logList 日志列表
     */
    void doAnalytical(String systemName, String className, String methodName, List<String> logList) throws OgnlException;

    /**
     * 查询所有监控数据地图
     * @return
     */
    List<MonitorDataMapEntity> queryMonitorDataMapEntityList();

    /**
     * 查询监控流量数据
     * @param monitorId
     * @return
     */
    MonitorTreeConfigVO queryMonitorFlowData(String monitorId);

    /**
     * 查询监控数据
     * @param monitorDataEntity
     * @return
     */
    List<MonitorDataEntity> queryMonitorDataEntityList(MonitorDataEntity monitorDataEntity);

    /**
     * 更新监控节点流
     * @param monitorFlowDesignEntity
     */
    void updateMonitorFlowDesign(MonitorFlowDesignEntity monitorFlowDesignEntity);
}
